# -*- coding: cp1252 -*-
from Class_Recurso import *
from Class_ConexaoDB  import *
from Class_GerenciadorUsuario import *

class GerenciadorRecursos:
    def __init__(self):
        self.Conexao = ConexaoDB()
    
    #metodo para cadastrar um recurso por completo no banco de dados
    #Retorna - True ou False
    def CadastrarRecurso(self, Recurso):
        Nome = Recurso.GetNome()
        Descricao = Recurso.GetDescricao()

        comando = '''
INSERT INTO Recurso (nome, descricao) VALUES ('%s','%s')
'''%(Nome, Descricao)
        confirmacao = self.Conexao.ExecutarComando(comando)
        
        Tipo = Recurso.GetTipo()
        dados = self.PesquisarRecursoPorNome(Nome)
        
        if len(dados) <> 0:
            Recurso.SetID(dados[0][0])
        else:
            pass
        print dados
        print Recurso.GetID()
        print Tipo

        if Tipo == 'bebidas':
            comando = '''
INSERT INTO Bebida (Id_recurso, id_tipo) VALUES ('%s','%s')
'''%(Recurso.GetID(), Recurso.GetTipoBebida())
            confirmacao = self.Conexao.ExecutarComando(comando)

        elif Tipo == 'comidas':
            comando = '''
INSERT INTO Comida (Id_recurso, id_tipo) VALUES ('%s','%s')
'''%(Recurso.GetID(), Recurso.GetTipoComida())
            confirmacao = self.Conexao.ExecutarComando(comando)

        elif Tipo == 'servicos':
            Telefone1 = Recurso.GetContato().GetTelefone1()
            Telefone2 = Recurso.GetContato().GetTelefone2()
            Telefone3 = Recurso.GetContato().GetTelefone3()
            Email = Recurso.GetContato().GetEmail()
            
            
            comando = '''
INSERT INTO Contato (Telefone1, Telefone2, Telefone3, Email)
VALUES ('%s','%s','%s','%s')
'''%(Telefone1, Telefone2, Telefone3, Email)
            confirmacao = self.Conexao.ExecutarComando(comando)
            
            comando = ''' SELECT * FROM Contato WHERE Email = '%s' '''%(Email)
            dados = self.Conexao.ExecutarComandoRetorno(comando)[0][0]
            IdContato = dados
            
            comando = '''
INSERT INTO Servico (Id_recurso, id_contato) VALUES ('%s','%s')
'''%(Recurso.GetID(), IdContato)
            confirmacao = self.Conexao.ExecutarComando(comando)
            
        elif Tipo == 'decoracao':
            comando = '''
INSERT INTO Decoracao (Id_recurso ) VALUES ('%s')
'''%(Recurso.GetID())
            confirmacao = self.Conexao.ExecutarComando(comando)

        elif Tipo == 'acessorios':
            comando = '''
INSERT INTO Acessorio (Id_recurso ) VALUES ('%s')
'''%(Recurso.GetID())
            confirmacao = self.Conexao.ExecutarComando(comando)

        elif Tipo == 'outros':
            comando = '''
INSERT INTO outro (Id_recurso ) VALUES ('%s')
'''%(Recurso.GetID())
            confirmacao = self.Conexao.ExecutarComando(comando)

        

        
        return confirmacao

    def PesquisarRecursoPorNome(self, Nome):
        comando = '''
SELECT * FROM Recurso WHERE Nome LIKE '%s'
'''%(Nome)
        dados = self.Conexao.ExecutarComandoRetorno(comando)

        return dados


    def PesquisarRecursoPorID(self, ID):
        comando = '''
SELECT * FROM Recurso WHERE ID = '%s'
'''%(ID)
        dados = self.Conexao.ExecutarComandoRetorno(comando)

        return dados

    def PesquisarContato(self, Contato):
        Email = Contato#.GetEmail()
        comando = '''
SELECT * FROM Contato WHERE Email = '%s'
'''%(Email)
        dados = self.Conexao.ExecutarComandoRetorno(comando)

        return dados


    
        
